package com.xgg.taiwuinfo.gongfa.base;

import com.xgg.taiwuinfo.gongfa.baihua.jueji.*;
import com.xgg.taiwuinfo.gongfa.baihua.neigong.*;
import com.xgg.taiwuinfo.gongfa.baihua.shenfa.*;
import com.xgg.taiwuinfo.gongfa.baihua.yueqi.*;
import com.xgg.taiwuinfo.gongfa.baihua.zhifa.*;
import com.xgg.taiwuinfo.gongfa.baihua.yushe.*;

import com.xgg.taiwuinfo.gongfa.emei.neigong.*;

import com.xgg.taiwuinfo.gongfa.shaolin.neigong.*;
import com.xgg.taiwuinfo.gongfa.shaolin.quanzhang.*;
import com.xgg.taiwuinfo.gongfa.shaolin.shenfa.*;
import com.xgg.taiwuinfo.gongfa.shaolin.jueji.*;
import com.xgg.taiwuinfo.gongfa.shaolin.zhifa.*;
import com.xgg.taiwuinfo.gongfa.shaolin.changbing.*;

import com.xgg.taiwuinfo.gongfa.shixiang.neigong.*;

import java.util.ArrayList;

public class GongfaList {

    //AddGongfa(new Neigong_PeiRanJue());
    final static ArrayList<Gongfa> mGongfaList = new ArrayList<>();

    static public ArrayList<Gongfa> getList() { return mGongfaList; }

    static public void Init() {
        //AddGongfa_Shixiang();
        AddGongfa_ShaoLin();
        //AddGongfa_Baihua();
        //AddGongfa_EMei();
    }

    private static void AddGongfa(Gongfa gongfa)
    {
        gongfa.setId();
        mGongfaList.add(gongfa);
    }

    private static void AddGongfa_ShaoLin() {
        //9个内功
        AddGongfa(new JingChanGong());
        AddGongfa(new LuoHanGong());
        AddGongfa(new XinYiQiHunYuanGong());
        AddGongfa(new WuSeChanGong());
        AddGongfa(new PuTiXinXiuFa());
        AddGongfa(new ZaEHanJing());
        AddGongfa(new ELuoHanShenGong());
        AddGongfa(new YiJinJing());
        AddGongfa(new XiSuiJing());
        //6个身法
        AddGongfa(new ChuanZongGong());
        AddGongfa(new BiHuYouQiangGong());
        AddGongfa(new QingShenShu());
        AddGongfa(new DaFanTengShu());
        AddGongfa(new JiuTuLiuZuoXiang());
        AddGongfa(new YiWeiDuJiang());
        //9个绝技，护体和奇窍均在内
        AddGongfa(new WoHuGong());
        AddGongfa(new ZhanYiShiBaDie());
        AddGongfa(new QianJinZhui());
        AddGongfa(new BianTiTongRenFa());
        AddGongfa(new JinZhongZhao());
        AddGongfa(new XiaoLuoHanGunZhen());
        AddGongfa(new FoMenShiZiHou());
        AddGongfa(new HunYuanYiQiGong());
        AddGongfa(new JinGangHuTiShenGong());
        //8个拳掌
        AddGongfa(new ShaoLinChangQuan());
        AddGongfa(new ShaoLinJinGangZhang());
        AddGongfa(new DaTongBiQuan());
        AddGongfa(new LiuShiBaShiLuoHanQuan());
        AddGongfa(new DaJinGangQuan());
        AddGongfa(new DaMoShiBaShou());
        AddGongfa(new JinGangBoReZhang());
        AddGongfa(new XiangMoGuangMingQuan());
        //6个指法
        AddGongfa(new ShaoLinFuHuZhao());
        AddGongfa(new ShaoLinYiZhiChan());
        AddGongfa(new NianHuaZhiGong());
        AddGongfa(new DaLiJinGangZhi());
        AddGongfa(new NieZhuanJinGangQuan());
        AddGongfa(new ShaoLinLongZhuaShou());
        //9个长兵
        AddGongfa(new ShaoLinLiuHeGun());
        AddGongfa(new ShaoLinYinYangGun());
        AddGongfa(new ShiBaDianQiMeiGun());
        AddGongfa(new DaXiaoyYeChaGun());
        AddGongfa(new WuHuQunYangGun());
        AddGongfa(new ShaoLinFengMoGun());
        AddGongfa(new WeiTuoXiangMoZhang());
        AddGongfa(new DaZhiPuTiZhangFa());
        AddGongfa(new DaMoZhangFa());
    }

    private static void AddGongfa_Baihua() {
        //5个内功
        AddGongfa(new TongRenYuXueTuJing());
        AddGongfa(new JiuZhenShiErYuan());
        AddGongfa(new JiaYiQuanPian());
        AddGongfa(new NeiJingLingShuPian());
        AddGongfa(new JinZhenFaMaiGong());
        //8个身法
        AddGongfa(new TiZhenFa());
        AddGongfa(new QianNiuHuanShenBu());
        AddGongfa(new FeiZhenChuanSuoShu());
        AddGongfa(new YuZhenXing());
        AddGongfa(new TaXueXunMei());
        AddGongfa(new JinZhanXuanSi());
        AddGongfa(new ZhiLanYuBu());
        AddGongfa(new WanHuaTingYuShi());
        //9个绝技
        AddGongfa(new SanShiLiuShouYiZhenFa());
        AddGongfa(new JingYiBiXie());
        AddGongfa(new BaiCaoQueZhuoZhi());
        AddGongfa(new LuanZhenCuoXue());
        AddGongfa(new YinYangMaiNiZhuan());
        AddGongfa(new ShiErJingDaNuoYi());
        AddGongfa(new ShengSiBaMen());
        AddGongfa(new XueHaiNingBingShu());
        AddGongfa(new WanBiBuPoFa());
        //9个指法
        AddGongfa(new ZhiZhenGong());
        AddGongfa(new ChangChunZhi());
        AddGongfa(new YiZhiYiPinHong());
        AddGongfa(new QingHuaYuMeiRen());
        AddGongfa(new ManTianHuaYuShi());
        AddGongfa(new DaHuaManTuoLuoZhi());
        AddGongfa(new WanHuaLingYueZhi());
        AddGongfa(new BaiHuaSha());
        AddGongfa(new XueZhuHuaBaFa());
        //9个御射
        AddGongfa(new YuZhenShu());
        AddGongfa(new WuXingMeiHuaZhen());
        AddGongfa(new HanBingCiGuFa());
        AddGongfa(new BianQueShenZhen());
        AddGongfa(new PoYuanChangZhen());
        AddGongfa(new ZhenSiBuZhenHuoFa());
        AddGongfa(new LiuXianJiuZhenShu());
        AddGongfa(new HuaMaiShenZhen());
        AddGongfa(new ShiErXianQiZhenGong());
        //7个乐器
        AddGongfa(new YunShuiYin());
        AddGongfa(new BuSiGui());
        AddGongfa(new FengLaiYi());
        AddGongfa(new YuFeiYin());
        AddGongfa(new QiongHuaTan());
        AddGongfa(new ZangLuLan());
        AddGongfa(new TianDiXiao());
    }

    private static void AddGongfa_Shixiang() {
        //4个内功
        AddGongfa(new FengKouGuQiFa());
    }

    private static void AddGongfa_EMei(){
        //8个内功
        AddGongfa(new DanTianKaiHeGong());
        AddGongfa(new EMeiShiErZhuang());
        AddGongfa(new XianTianYiYuanQiGong());
    }
}
